#include "multi_button.h"

struct Button btn1;

uint8_t read_button1_GPIO()
{
    return HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin);
}


int main()
{
    static uint8_t btn1_event_val;

    button_init(&btn1, read_button1_GPIO, 0);
    button_start(&btn1);

    //make the timer invoking the button_ticks() interval 5ms.
    //This function is implemented by yourself.
    __timer_start(button_ticks, 0, 5);

    while(1)
    {
        if(btn1_event_val != get_button_event(&btn1))
        {
            btn1_event_val = get_button_event(&btn1);

            if(btn1_event_val == PRESS_DOWN)
            {
                //do something
            }
            else if(btn1_event_val == PRESS_UP)
            {
                //do something
            }
            else if(btn1_event_val == LONG_PRESS_HOLD)
            {
                //do something
            }
        }
    }
}

